Mysql数据库性能优化思路
思路
不分库分表
- 软优化
- 数据库参数调优
- 分析慢查询SQL语句,分析执行计划,进行sql改写和程序改写
- 优化数据库索引结构
- 优化数据表结构
- 引入NOSQL和程序架构调整
- 硬优化
- 提升系统硬件(更快的IO、更多的内存):带宽、CPU、硬盘
分库分表
- 根据业务情况而定,选择合适的分库分表策略(没有通用的策略)
- 先看只分表是否满足业务的需求和未来增长
- 数据库分表能够解决单表数据量很大的时,数据查询的效率问题
- 无法给数据库的并发操作带来效率上的提高,分表的实质还是在一个数据库上进行的操作,受数据库IO性能的限制
- 如果单分表满足不了需求,再分库分表一起
结论
- 在数据量及访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案
- 如果数据量极大,且业务持续增长快,再考虑分库分表方案